class GeneralsController < ApplicationController

	layout 'metronic'
#metodo principal de la aplicacion. Muestra el tablon del usuario con los feeds de sus contactos.
  def inicio
  	#variable para pasarle al partial. Muestra los seguidores y los seguidos en forma de tabla.
  	@usuario=current_user

    #array con todos los feeds para mostrar en la pantalla inicial.
		@arrayMensajes=buscarMensajes()

    #instancia de mensaje para redactar un nuevo tweet.

    if @mensaje == nil
		  @mensaje=@usuario.mensajes.build
    end
  end

  def muro
  	@usuario=Usuario.find_by(username: params[:username])
  end

  def noautorizado #contenido estatico
  end

  def buscarSeguidores
    @usuario=Usuario.find_by(username: params[:username])
    @seguidores=@usuario.seguidores
  end

  def buscarSeguidos
    @usuario=Usuario.find_by(username: params[:username])
    @seguidos=@usuario.seguidos
  end

  private
  def buscarMensajes
  	#Busca los mensajes propios y los de los usuarios seguidos. Los devuelve ordenados por fecha.
  	arrayMensajes = Array.new()

  	@usuario.seguidos.each do |s|
  		arrayMensajes << s.mensajes
  	end

  	arrayMensajes = arrayMensajes + @usuario.mensajes.to_a
  	arrayMensajes.flatten!
  	#ordenar por fecha
  	return arrayMensajes.sort_by { |obj| obj.created_at }.reverse
  end
end